Ŀ Ŀ KARAKTER EDITOR ٳ PS 31 ubat'96 Cenk Tarhan Merhaba, Program Sanatlar... Bu seferki program, Turbo Pascal 6.0 ile yazlm ve grafik ekrannda alan bir karakter tanmlama program. Pascal ile program yapan okuyucularmzn olduka iine yarayacan umduum bu program yardm ile grafik ekranndaki karakterleri dilediiniz gibi deitirebiliyor, kendi karakter setinizi oluturabiliyorsunuz. Bu ilem sadece ASCII deeri 128 ile 255 arasnda olan karakterler ve Pascal'n "Defaultfont" fontu iin geerli. u anda "kaydet" seeneini kullannca program sadece o anki karakter tablosunu C: srcsnn "root" rehberine "karakter.tan" adl bir dosya olarak kaydediyor. Kodu biraz inceleyerek ve program istediiniz gibi deitirerek deiik isimler altnda deiik karakter tablolar oluturup bunlar diske kaydedebilir ve istediiniz zaman Pascal programlarnzn ierisinde kullanabilirsiniz. imdi programn ileyiine bir deinelim. Pascal, Defaultfont ile karakterleri grafik ekrannda grntlerken ASCII 128 ve ASCII 255 arasndaki karakterlerin bilgisini sistem belleinden almaktadr. Bu yzden de, bu bellein ieriini deitirerek karakterlerin grnlerini deitirmek mmkndr. Bu programda ASCII 128 ile ASCII 255 arasndaki 8*8'lik karakterlerin bilgileri sral olarak "karakterler" adnda 1024 bayt uzunluunda bir "array" ierisinde tutulmaktadr. Bu array'n her eleman bir karakterin 8 bit'ine yani bir srasna eittir. Bunu bir rnekle amak istiyorum. rnein "byk eit" iaretini ele alalm. Bu iaretin karakter tablosundaki yeri ASCII 242'dir. Ve bu karakteri tanmlayan 8 bayt da karakterler array'inde srasyla 912, 913, 914, 915, 916, 917, 918 ve 919'uncu baytlardr. Bu baytlar bit seviyesinde inceleresek, karakterlerin ak blmlerinin 1 kapal blmlerinin de 0 olduu grlr. Yani, byk eittir iareti aadaki tablodaki gibi tanmlanmtr. 01100000 bayt deeri: 60 array ierisindeki yeri: 912 00110000 bayt deeri: 48 array ierisindeki yeri: 913 00011000 bayt deeri: 24 array ierisindeki yeri: 914 00110000 bayt deeri: 48 array ierisindeki yeri: 915 01100000 bayt deeri: 60 array ierisindeki yeri: 916 00000000 bayt deeri: 0 array ierisindeki yeri: 917 11111100 bayt deeri: 252 array ierisindeki yeri: 918 00000000 bayt deeri: 0 array ierisindeki yeri: 919 Grld gibi gerekli array elemann deitirerek istediiniz tipte 8*8 bitmap karakterler oluturabilirsiniz. Zaten program da bunu yapmaktadr. Sadece ufak bir editr yardm ile karakterlerin seimi ve deitirilmesi kolaylatrlm ve bir de karakter tablosunu kaydetmek, yklemek seenekleri eklenmitir. Karakter tablosunu kaydetmek de aslnda karakterlerler array'inin ieriini diske yazmak ve Karakter tablosunu yklemek de diskten daha nce yazlm saylar okuyup bu saylar direkt olarak array'in iine yazdrmaktr.